<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Resource Markers</title>
<style type="text/css">@import url("file:/home/moovida/rcpdevelopment/eclipse/configuration/org.eclipse.osgi/bundles/488/1/.cp/book.css");</style>
<style type="text/css">@import url("file:/home/moovida/rcpdevelopment/eclipse/configuration/org.eclipse.osgi/bundles/505/1/.cp/schema.css");</style>
</HEAD>
<BODY>
<H1 style="text-align:center">Resource Markers</H1>
<p></p>
<h6 class="CaptionFigColumn SchemaHeader">Identifier: </h6>org.eclipse.core.resources.markers<p></p>
<h6 class="CaptionFigColumn SchemaHeader">Description: </h6>The workspace supports the notion of markers on arbitrary
resources.  A marker is a kind of metadata 
(similar to properties) which can be used to 
tag resources with user information.  Markers are 
optionally persisted by the workspace whenever a 
workspace save or snapshot is done. 
<p>
Users can define and query for markers of a given type.  
Marker types are defined in a hierarchy that supports 
multiple-inheritance.  Marker type definitions also 
specify a number attributes which must or may be 
present on a marker of that type as well as whether 
or not markers of that type should be persisted. 
<p>
The markers extension-point allows marker writers to 
register their marker types under a symbolic name that 
is then used from within the workspace to create and 
query markers. The symbolic name is the id of the 
marker extension. When defining a marker extension, 
users are encouraged to include a human-readable value 
for the "name" attribute which indentifies their marker 
and potentially may be presented to users.<p></p>
<h6 class="CaptionFigColumn SchemaHeader">Configuration Markup:</h6>
<p></p>
<p class="code SchemaDtd">&lt;!ELEMENT <a name="e.extension">extension</a> (<a href="#e.super">super</a>* , <a href="#e.persistent">persistent</a>? , <a href="#e.attribute">attribute</a>*)&gt;</p>
<p class="code SchemaDtd">&lt;!ATTLIST extension</p>
<p class="code SchemaDtdAttlist">point&nbsp;CDATA #REQUIRED</p><p class="code SchemaDtdAttlist">id&nbsp;&nbsp;&nbsp;&nbsp;CDATA #REQUIRED</p><p class="code SchemaDtdAttlist">name&nbsp;&nbsp;CDATA #IMPLIED</p>&gt;</p>
<p></p>
<ul class="ConfigMarkupAttlistDesc">
<li><b>point</b> - a fully qualified identifier of the target extension point</li>
<li><b>id</b> - a required identifier of the extension instance</li>
<li><b>name</b> - an optional name of the extension instance</li>
</ul>
<br><p class="code SchemaDtd">&lt;!ELEMENT <a name="e.super">super</a> EMPTY&gt;</p>
<p class="code SchemaDtd">&lt;!ATTLIST super</p>
<p class="code SchemaDtdAttlist">type&nbsp;IDREF #REQUIRED</p>&gt;</p>
<p></p>
<ul class="ConfigMarkupAttlistDesc">
<li><b>type</b> - the fully-qualified id of a marker super type (i.e., a marker type defined by another marker extension)</li>
</ul>
<br><p class="code SchemaDtd">&lt;!ELEMENT <a name="e.persistent">persistent</a> EMPTY&gt;</p>
<p class="code SchemaDtd">&lt;!ATTLIST persistent</p>
<p class="code SchemaDtdAttlist">value&nbsp;(true | false) </p>&gt;</p>
<p></p>
<ul class="ConfigMarkupAttlistDesc">
<li><b>value</b> - "<tt>true</tt>" or "<tt>false</tt>" indicating whether or not markers of this type
should be persisted by the workspace.  If the persistent characteristic
is not specified, the marker type is <b>not</b> persisted.</li>
</ul>
<br><p class="code SchemaDtd">&lt;!ELEMENT <a name="e.attribute">attribute</a> EMPTY&gt;</p>
<p class="code SchemaDtd">&lt;!ATTLIST attribute</p>
<p class="code SchemaDtdAttlist">name&nbsp;CDATA #REQUIRED</p>&gt;</p>
<p></p>
<ul class="ConfigMarkupAttlistDesc">
<li><b>name</b> - the name of an attribute which may be present on markers of this type</li>
</ul>
<br><h6 class="CaptionFigColumn SchemaHeader">Examples: </h6>Following is an example of a marker configuration: 

<p>
<pre class="Example"><span class="code SchemaTag">
   &lt;extension id=</span><span class="code SchemaCstring">&quot;com.xyz.coolMarker&quot;</span><span class="code SchemaTag"> point=</span><span class="code SchemaCstring">&quot;org.eclipse.core.resources.markers&quot;</span><span class="code SchemaTag"> name=</span><span class="code SchemaCstring">&quot;Cool Marker&quot;</span><span class="code SchemaTag">&gt; 
      &lt;persistent value=</span><span class="code SchemaCstring">&quot;true&quot;</span><span class="code SchemaTag">/&gt; 
      &lt;super type=</span><span class="code SchemaCstring">&quot;org.eclipse.core.resources.problemmarker&quot;</span><span class="code SchemaTag">/&gt; 
      &lt;super type=</span><span class="code SchemaCstring">&quot;org.eclipse.core.resources.textmarker&quot;</span><span class="code SchemaTag">/&gt; 
      &lt;attribute name=</span><span class="code SchemaCstring">&quot;owner&quot;</span><span class="code SchemaTag">/&gt; 
   &lt;/extension&gt; 
</span></pre>
</p>
<p></p>

<h6 class="CaptionFigColumn SchemaHeader">API Information: </h6>All markers, regardless of their type, are instances of 
<samp>org.eclipse.core.resources.IMarker</samp>.
<p></p>

<h6 class="CaptionFigColumn SchemaHeader">Supplied Implementation: </h6>The platform itself has a number of pre-defined 
marker types. Particular product installs may 
include additional markers as required.
<p></p>

<br>
<p class="note SchemaCopyright">
Copyright (c) 2002, 2008 IBM Corporation and others.<br>
All rights reserved. This program and the accompanying materials are made 
available under the terms of the Eclipse Public License v1.0 which 
accompanies 
this distribution, and is available at 
<a 
href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>

</p>
</BODY>
</HTML>
